#include <iostream>
using namespace std;

int b;
int n;
int arr[51];

bool func()
{
	for (int i = 0; i < n; i++)
	{
		if (b % arr[i]) return false;
		int x = b / arr[i];
		if (x - (x & -x)) return false;
	}
}

int main()
{
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> arr[i];
		b = max(b, arr[i]);
	}

	if (func()) cout << "YES" << endl;
	else cout << "NO" << endl;

	return 0;
}




//int n;
//int arr[60];
//
//int main()
//{
//    cin >> n;
//
//    for (int i = 0; i < n; i++) cin >> arr[i];
//
//    bool flag = true;
//    for (int i = 0; i < n; i++)
//    {
//        for (int j = i + 1; j < n; j++)
//        {
//            int maxone = max(arr[i], arr[j]);
//            int minone = min(arr[i], arr[j]);
//            int tmp = maxone / minone;
//            if ((tmp & (tmp - 1)) != 0)
//            {
//                flag = false;
//                break;
//            }
//        }
//    }
//
//    cout << (flag ? "YES" : "NO") << endl;
//
//    return 0;
//}
